Information is transmitted over an Internet Protocol (IP) network in asynchronous packets. As a result, voice-over-IP systems generally require that a given IP receiver include a jitter buffer that allows the receiver to convert asynchronous received packets to a synchronous voice signal suitable for presentation in an audibly-perceptible format or for further transmission over a synchronous network. A given jitter buffer typically occupies a particular amount of physical memory. The term “jitter buffer size” as used herein refers to the portion of the jitter buffer that actually contains signal samples, and is also commonly referred to as the “jitter buffer build-out” or the “jitter buffer delay.” The jitter buffer size varies continuously as packets arrive and a synchronous voice signal output is generated at the synchronous interface. The jitter buffer size is limited by the amount of physical memory allocated to the corresponding voice channel. In general, it is desirable that the jitter buffer size be sufficiently large to allow adaptation to changing conditions, while at the same time not be so large as to add unnecessary delay in the voice transmission path.
Conventional techniques for determining and adjusting jitter buffer size suffer from a number of significant drawbacks. For example, these techniques have been unable to provide efficient and effective determination of a target buffer size that represents an optimal compromise between buffer delay and probability of packet overrun. In addition, conventional techniques have been unable to provide adequate adjustment to the jitter buffer size in real time and with minimal disruption to the voice signal. Another drawback is that existing conventional jitter buffer techniques are unduly complex and thus require excessive processing resources, yet nonetheless fail to provide commensurate voice quality benefits.
In view of the above, it is apparent that a need exists for improved techniques for determining and adjusting receiver jitter buffer size in voice-over-IP systems and other packet-based communication systems, in a manner that exhibits low delay, low complexity, and high voice quality, so as to overcome the previously-described problems associated with conventional buffering techniques.